지식 그래프 & 온톨로지
학습 로드맵
Neo4j · 온톨로지 · GraphRAG — 단계별 학습 가이드
전체 학습 흐름
PART 0 · 개념 기초
PART 1 · Neo4j / Cypher
그래프 DB 도구 학습
↓
PART 3 · KG 구축
Neo4j 단독으로 가능
↓
Neo4j 단독으로 가능
PART 4 · GraphRAG
독립 경로
또는
합류 가능
⇌
PART 2 · 온톨로지 / OWL
의미 표현 · 추론 학습
↓
PART 3 · KG 구축
Triple Store 단독으로 가능
↓
Triple Store 단독으로 가능
추론 / XAI
PART 1 vs PART 2
| 비교 기준 | PART 1 · Neo4j / Cypher | PART 2 · 온톨로지 / OWL |
|---|---|---|
| 한 줄 요약 | 데이터를 그래프로 저장·탐색하는 도구 | 데이터에 의미를 부여·추론하는 체계 |
| 핵심 질문 | "이 데이터들이 어떻게 연결되어 있지?" | "이 데이터가 무엇을 의미하지?" |
| 데이터 모델 | Property Graph (노드 · 관계 · 속성 · 라벨) |
RDF Triple (주어 · 술어 · 목적어) |
| 질의 언어 | Cypher GQL (ISO 표준)과 유사 |
SPARQL |
| 주요 도구 | Neo4j Desktop, AuraDB, Workspace | Protege, Apache Jena, Fuseki |
| 추론 능력 | 없음 (명시된 관계만 탐색) 경로 탐색 · 패턴 매칭에 강함 |
있음 (명시되지 않은 지식 자동 도출) OWL 추론기 · SWRL 규칙 |
| 강점 | 빠른 그래프 탐색, 직관적 시각화, 대규모 데이터 처리 |
의미 기반 추론, 표준화된 지식 공유, 논리적 일관성 검증 |
| KG 구축 시 | Neo4j에 직접 노드·관계 적재 → PART 3 · PART 4(GraphRAG)로 |
Triple Store에 RDF 적재 + 추론 → PART 3 · 추론/XAI로 |
PART 0
개념 기초 — "왜 지식 그래프인가?"
가장 중요하지만 흘려듣기 쉬운 파트. 이 질문에 스스로 답할 수 있어야 나머지가 연결됩니다.
이론
- 지식 그래프(Knowledge Graph)란 무엇인가?
Google(2012) 이후 학계·업계에서 쓰이는 정의와 핵심 구성요소 - 데이터를 "저장"하는 것과 "이해"하는 것의 차이
- RDB vs GraphDB vs 온톨로지 — 세 가지 세계관 비교
- CWA vs OWA — RDB와 온톨로지의 근본적인 철학 차이
(CWA: "모르면 거짓" / OWA: "모르면 모르는 것") - 지식 표현(Knowledge Representation)의 흐름
초기 전문가 시스템 → Semantic Web → LLM 시대의 재조명 - 지식 그래프가 LLM의 무엇을 보완하는가?
환각(Hallucination) 방지, 근거 기반 응답, 구조적 맥락 제공
팔란티어(Palantir) — 온톨로지 기반 플랫폼 사례
이론- Foundry Ontology Layer — 원시 데이터 위에 "객체(Object) · 관계(Link) · 액션(Action)" 계층을 정의
RDF/OWL이 아닌 자체 온톨로지 모델이지만, 핵심 철학은 동일 - AIP (Artificial Intelligence Platform) — LLM + Ontology 결합
LLM이 Ontology Layer를 참조해 환각 없이 실제 데이터 기반으로 응답·의사결정 - 3-Layer 아키텍처
Raw Data (데이터 통합) → Ontology (의미 부여) → Application (의사결정 자동화) - 왜 팔란티어가 중요한가?
온톨로지를 "학술 개념"이 아닌 "기업 제품"으로 증명한 대표 사례 — 국방·의료·금융·제조 전 산업에 적용
PART 1
Neo4j & Cypher — 그래프 DB 실전
그래프 데이터베이스의 실용적인 구현 도구. 먼저 손에 익혀두면 이후 파트가 훨씬 수월해집니다.
Ch1. GraphDB 이론
이론- Property Graph 모델 (노드 · 관계 · 속성 · 라벨)
- Property Graph 계열 DB 비교 (Neo4j, TigerGraph, ArangoDB)
- Cypher와 GQL(ISO 39075) — Neo4j 쿼리 언어와 국제 표준의 관계
Ch2. Neo4j 환경 구축
실습- AuraDB (클라우드) / Neo4j Desktop (로컬) 세팅
- Neo4j Browser / Workspace 사용법
- Python 연결 — 공식
neo4j드라이버 + LangChainNeo4jGraph
Ch3. Cypher 기본 문법
이론 실습- 노드 · 관계 표현, 변수 / 별칭
- MATCH · WHERE · RETURN
- CREATE · MERGE · SET · DELETE · REMOVE
Ch4. Cypher 고급 문법
이론 실습- 가변 길이 경로 탐색
[:관계*1..3] - 최단 경로
shortestPath() - 집계 함수 · WITH 서브쿼리 · UNWIND
- 복잡한 관계 패턴 결합
Ch5. 인덱스 · 제약조건 · APOC
실습- 인덱스(Index) — 조회 성능 최적화
- 제약조건(Constraint) — 유일성, 존재성 보장
- APOC 라이브러리 — 데이터 가져오기, 리팩터링, 유틸리티 함수
PART 2
온톨로지 — 데이터에 "의미"를 입히다
의미 표현과 추론의 기반. PART 1과는 독립적인 경로이며, 관심 도메인에 따라 선택할 수 있습니다.
Ch1. 온톨로지란?
이론- Gruber의 정의와 현대적 해석
- 구성요소 — 클래스(TBox) · 인스턴스(ABox) · 속성(Property)
- 온톨로지 설계 방법론 — Competency Questions 접근법
Ch2. 지식 표현 언어 스택
이론- FOL (1차 논리) — 명제와 관계를 형식 논리로 표현하는 체계
- Description Logic(DL) — OWL의 이론적 기반, FOL의 결정 가능한 부분집합
- RDF / RDFS — 트리플 구조 (주어 - 술어 - 목적어)
- OWL — 클래스 계층, 제약조건, 풍부한 의미 표현
- SWRL — 규칙 기반 추론 (조건 → 판단)
- SHACL — RDF 데이터 검증 표준 (W3C 권고안)
Ch3. Protege 실습
실습- 클래스 · 속성 설계 (Object Property / Data Property)
- 인스턴스(ABox) 입력
- OWL 추론기 실행 — 명시되지 않은 지식 자동 도출
- SHACL로 데이터 유효성 검증
Ch4. Triple Store & SPARQL
실습- Apache Jena / Fuseki 설치 및 데이터 적재
- SPARQL 기본 패턴 (SELECT · WHERE · FILTER · OPTIONAL)
- SPARQL 고급 — CONSTRUCT · 서브쿼리 · 추론 질의
PART 3
지식 그래프 구축 실전
선택한 경로(Neo4j 또는 온톨로지)를 기반으로 실제 데이터를 지식 그래프로 변환합니다.
Ch1. KG 구축 공통 전략
이론- 원본 데이터 → KG 스키마 매핑 전략
- 정형 데이터 (CSV / Excel / DB) → 지식 그래프 변환
- 비정형 텍스트 → 지식 그래프 (
LLMGraphTransformer) - 엔티티 해소(Entity Resolution) — 동일 개체 식별 및 병합
- 데이터 품질 관리 — 중복 제거, 관계 정합성 검증
Ch2. Neo4j 경로 — Property Graph 기반 구축
실습- 라벨 · 관계 타입 설계 및 제약조건 설정
GraphDocument활용 — 노드·관계 일괄 적재- 관계 확장 — 새로운 엔티티 연결 추가
- Neo4j Workspace로 그래프 시각화 및 탐색
Ch3. 온톨로지 경로 — Triple Store 기반 구축
실습- 온톨로지(TBox) 정의 → RDF 데이터(ABox) 적재
- RDF 직렬화 포맷 (Turtle, JSON-LD, RDF/XML)
- 추론기 실행 — 암묵적 지식 자동 도출
- SHACL로 적재 데이터 검증
Ch4. 두 세계 연결 — Property Graph ↔ RDF
이론 실습- Neo4j n10s(neosemantics) 플러그인 — RDF를 Neo4j로 가져오기
- 온톨로지로 설계하고 Neo4j로 서빙하는 하이브리드 패턴
- Property Graph와 RDF 간 데이터 변환 전략
Ch5. KG Embedding 개요
이론- KG Embedding이란? — 그래프 구조를 벡터 공간으로 변환
- 대표 모델 — TransE, ComplEx, RotatE
- 활용 — 링크 예측, 엔티티 분류, 유사 엔티티 검색
- PART 4(GraphRAG)의 Vector 검색과의 관계
PART 4
GraphRAG — 지식 그래프로 검색하다
기존 Vector RAG의 한계를 넘어, 구조적 맥락과 관계 추론을 더한 검색 시스템을 구현합니다.
Ch1. GraphRAG 개념
이론- 기존 Vector RAG의 한계 — 맥락 단절, 관계 무시
- GraphRAG가 해결하는 것 — 구조적 맥락 + 관계 추론
- Microsoft GraphRAG — Local Search vs Global Search, 커뮤니티 탐지 기반 요약
- GraphRAG 전체 아키텍처 조감도
Ch2. 그래프 알고리즘 기초
이론 실습- Community Detection — 밀접한 노드 그룹 탐지 (Louvain, Leiden)
- Centrality — 중요 노드 식별 (PageRank, Betweenness)
- Neo4j GDS(Graph Data Science) 라이브러리 활용
Ch3. 검색 방식별 구현
실습- Cypher 쿼리 기반 구조 검색
- Full-text Search (키워드 검색)
- Vector 의미 검색 (임베딩 + 벡터 인덱스)
- Text2Cypher — 자연어 → Cypher 자동 변환
- 하이브리드 검색 — Vector + Graph 결합
Ch4. GraphRAG 파이프라인 구현
실습- LangChain / LangGraph로 RAG 파이프라인 구성
neo4j-graphrag— Neo4j 공식 GraphRAG 라이브러리- GraphRAG 평가 — RAGAS 지표 이해 및 측정